Embodiments of the present invention relate generally to methods and systems for implementing a logical programming model and more particularly to implementing a logical programming model that separates a resource from its state and processes the resource and the state of the resource independently.
Previously, developers interested in developing scalable service oriented applications had to use platforms such as J2EE® (including EJB, JMS, WS, etc.). These platforms were fairly static in nature, where applications and modules were built and deployed to a “server” node. Remote clients would then communicate to the server node to access it's services. Changes to these topologies were somewhat cumbersome and the application/module could only be targeted to a “server” node. Developers had access to “Session” state provided by the underlying framework such as HttpSession from J2EE®'s web container. All other forms of state were left to the developer to solve in various proprietary, disjointed ways. There was no holistic way for the framework to handle multiple forms of state seamlessly in the same application, managed under the framework (i.e., Conversational State, Global State, etc.) Hence, there is a need for improved methods and systems for implementing a logical programming model.